#ifndef _FENGINE_TEXT_LABEL
#define _FENGINE_TEXT_LABEL

#include "ColorRGB.h"

namespace FEngine
{
	class GUINode;
	class ColorRGB;

	class TextLabel : public GUINode
	{

		public:

			/**
			 * Constructor.
			 * @param _text Text to draw.
			 * @param _posX Position of the text on the X axis.
			 * @param _posY Position of the text on the Y axis.
			 * @param _sizeX Size of the text on the X axis.
			 * @param _sizeY Sizeof the text on the Y axis.
			 * @param _fontHeight Size of the font.
			 * @param _color Color of the text.
			 */
			TextLabel(const std::string& _text, int _posX, int _posY, int _sizeX, int _sizeY, int _fontHeight, const ColorRGB& _color);
			~TextLabel();
			
			/**
			 * Set the text value of the TextLabel.
			 * @param _text Text to draw.
			 */
			void setText(const std::string& _text);

			/**
			 * Return the text value of the TextLabel.
			 * @return Text value of the Label.
			 */
			std::string getText() const;

			virtual void render(double _elapsedTime);


		private:
			
			ID3DXFont*		mFont;
			RECT			mRectangleArea;
			std::string		mText;
			ColorRGB		mTextColor;
	};

} // namespace FEngine

#endif
